Android অ্যাপ্লিকেশনে Activity Lifecycle হল একটি Activity (অ্যাপ্লিকেশনের UI স্ক্রিন) কিভাবে তৈরি হয়, কিভাবে ব্যবহারকারীর সাথে ইন্টারঅ্যাক্ট করে, এবং কিভাবে ধ্বংস হয় তা নিয়ন্ত্রণ করার প্রক্রিয়া। Android অ্যাপ্লিকেশনের প্রতিটি Activity একটি নির্দিষ্ট জীবনচক্র অনুসরণ করে, যা বিভিন্ন স্টেজে বিভক্ত। এই স্টেজগুলোকে ম্যানেজ করার জন্য বিভিন্ন callback methods ব্যবহার করা হয়: onCreate, onStart, onResume, onPause, onStop, এবং onDestroy।
Activity Lifecycle (onCreate, onStart, onResume, onPause, onStop, onDestroy)
নিচে প্রতিটি স্টেজ এবং তার callback method নিয়ে বিস্তারিত আলোচনা করা হলো।
১. onCreate()
- onCreate() হল Activity-এর প্রথম lifecycle method। এটি তখন কল করা হয় যখন Activity প্রথমবার তৈরি হয়।
- এটি Activity-এর প্রাথমিক ইনিশিয়ালাইজেশন এবং সেটআপের জন্য ব্যবহৃত হয়, যেমন UI লোড করা এবং প্রয়োজনীয় ডেটা ইনিশিয়ালাইজ করা।
- setContentView() মেথডটি সাধারণত এখানে কল করা হয়, যা Activity-এর UI লেআউট সেট করে।
উদাহরণ:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Initialize UI components or variables here
}
২. onStart()
- onStart() মেথডটি onCreate() এর পরে কল করা হয় এবং এটি Activity কে দৃশ্যমান করে।
- এই মেথডে, Activity স্ক্রিনে প্রদর্শিত হয়, কিন্তু এখনও ব্যবহারকারীর সাথে ইন্টারঅ্যাক্ট করার জন্য সম্পূর্ণ প্রস্তুত নয়।
- Activity এই পর্যায়ে foreground এ থাকে, তবে এটি সম্পূর্ণ সক্রিয় নয়।
উদাহরণ:
@Override
protected void onStart() {
super.onStart();
// Activity is now visible to the user
}
৩. onResume()
- onResume() মেথডটি তখন কল করা হয় যখন Activity সম্পূর্ণরূপে দৃশ্যমান হয় এবং ব্যবহারকারীর সাথে ইন্টারঅ্যাক্ট করার জন্য প্রস্তুত হয়।
- এই মেথডটি চলাকালীন Activity পুরোপুরি সক্রিয় (foreground) এবং ব্যবহারকারীর ইনপুট গ্রহণ করে।
- যদি কোনো Activity onPause() বা onStop() অবস্থায় থেকে ফিরে আসে, তাহলে onResume() পুনরায় কল করা হয়।
উদাহরণ:
@Override
protected void onResume() {
super.onResume();
// Activity is now in the foreground and interacting with the user
}
৪. onPause()
- onPause() মেথডটি তখন কল করা হয় যখন Activity আংশিকভাবে দৃশ্যমান থাকে, যেমন কোনো নতুন Activity সামনে চালু হলে।
- Activity এই অবস্থায় ব্যবহারকারীর সাথে ইন্টারঅ্যাক্ট করা বন্ধ করে দেয়, তবে এটি এখনও দৃশ্যমান থাকতে পারে।
- এই মেথডে ডেটা সংরক্ষণ বা সংবেদনশীল কাজ বন্ধ করা উচিত, কারণ Activity শীঘ্রই onStop() অবস্থায় যেতে পারে।
উদাহরণ:
@Override
protected void onPause() {
super.onPause();
// Activity is partially visible but not interacting with the user
}
৫. onStop()
- onStop() মেথডটি তখন কল করা হয় যখন Activity সম্পূর্ণরূপে দৃশ্যমান নয় এবং ব্যাকগ্রাউন্ডে চলে যায়।
- Activity এখন দৃশ্যমান নয় এবং ব্যাকগ্রাউন্ডে চলে যায়, তবে এটি এখনও মেমোরিতে থাকে।
- Activity যখন ব্যাকগ্রাউন্ডে থাকে, তখন এটি রিসোর্স যেমন নেটওয়ার্ক কানেকশন বা ব্যাটারি-ব্যবহারকারী টাস্কগুলো বন্ধ করা উচিত।
উদাহরণ:
@Override
protected void onStop() {
super.onStop();
// Activity is now completely hidden
}
৬. onDestroy()
- onDestroy() মেথডটি Activity সম্পূর্ণরূপে ধ্বংস হওয়ার আগে কল করা হয়। এটি Activity-কে মেমোরি থেকে সরিয়ে ফেলার আগে শেষবারের মতো সম্পাদিত হয়।
- এটি Activity-এর সমস্ত রিসোর্স ক্লিনআপ এবং নির্দিষ্ট কাজ সম্পন্ন করার জন্য ব্যবহার করা হয়, যেমন ডেটা সেভ করা বা ব্যাকগ্রাউন্ড টাস্ক বন্ধ করা।
- onDestroy() মেথডটি তখন কল করা হয় যখন Activity নিজে থেকেই বন্ধ করা হয় বা সিস্টেমের মাধ্যমে বন্ধ হয়।
উদাহরণ:
@Override
protected void onDestroy() {
super.onDestroy();
// Cleanup resources and final actions before destroying the activity
}
Activity Lifecycle Flow Diagram
Android Activity Lifecycle একটি নির্দিষ্ট স্টেজের ক্রম অনুসরণ করে, যার মাধ্যমে Activity তার জীবনচক্র সম্পন্ন করে। একটি সাধারণ Lifecycle Flow নিম্নরূপ:
- onCreate() → Activity তৈরি হয়।
- onStart() → Activity দৃশ্যমান হয়।
- onResume() → Activity সক্রিয় এবং ইন্টারঅ্যাক্টেবল হয়।
- onPause() → Activity ব্যাকগ্রাউন্ডে চলে যায়, কিন্তু আংশিকভাবে দৃশ্যমান থাকে।
- onStop() → Activity সম্পূর্ণরূপে ব্যাকগ্রাউন্ডে চলে যায় এবং দৃশ্যমান নয়।
- onDestroy() → Activity সম্পূর্ণরূপে ধ্বংস হয়ে যায়।
Android Activity Lifecycle Chart

এই চার্টটি Activity এর জীবনচক্রের প্রত্যেকটি স্টেজকে ভিজুয়ালি উপস্থাপন করে। এটি বুঝতে সাহায্য করে কিভাবে Activity বিভিন্ন স্টেজে পরিবর্তিত হয় এবং কিভাবে lifecycle মেথডগুলো একে অপরের সাথে সম্পর্কিত।
উপসংহার
Android এর Activity Lifecycle একটি গুরুত্বপূর্ণ অংশ, যা Activity কীভাবে তৈরি, পরিচালনা, এবং ধ্বংস হবে তা নিয়ন্ত্রণ করে। প্রতিটি callback method একটি নির্দিষ্ট স্টেজে ট্রিগার হয় এবং সঠিকভাবে এগুলো হ্যান্ডেল করে একটি কার্যকরী এবং ব্যাটারি/মেমোরি-অপ্টিমাইজড অ্যাপ্লিকেশন তৈরি করা যায়। Activity lifecycle এর সঠিক ব্যবহারের মাধ্যমে একটি অ্যাপ ব্যবহারকারীর ইন্টারঅ্যাকশনের জন্য সঠিকভাবে প্রস্তুত থাকে এবং সিস্টেমের রিসোর্স সঠিকভাবে ব্যবহার করে।
Read more